#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<sys/types.h>

int main()
{
  int sum = 0;
  printf("first我是父进程,我的pid是:%d,sum = %d\n",getpid(),sum);
  int id = fork();
  while(1)
  {
    if(id < 0)
    {
      perror("fork error");
      break;
    }
    else if(id == 0)
    {
      printf("%s",getenv("USER"));
      sleep(1);
      sum += 10;
      printf("我是子进程我的pid是:%d,sum = %d\n",getpid(),sum);
    }
    else 
    {
      printf("%s",getenv("USER"));
      sleep(1);
      printf("我是父进程我的pid是:%d,sum = %d\n",getpid(),sum);
    }
  }
    return 0;
}

//int main()
//{
//  printf("first我是父进程,我的pid是:%d\n",getpid());
//  int id = fork();
//  while(1)
//  {
//    if(id < 0)
//    {
//      perror("fork error");
//      break;
//    }
//    else if(id == 0)
//    {
//      sleep(1);
//      printf("我是子进程我的pid是:%d\n",getpid());
//    }
//    else 
//    {
//      sleep(5);
//      printf("我是父进程我的pid是:%d\n",getpid());
//    }
//  }
//  return 0;
//}











//版本二
//int main()
//{
//  printf("我的进程pid是:%d,我的父进程的pid是:%d\n",getpid(),getppid());
//  fork();
//  printf("我的pid是%d\n",getpid());
//
//  return 0;
//}








//版本一
//int main()
//{
//  while(1)
//  {
//    sleep(1);
//    printf("我是一个进程,我的pid:%d\n",getpid());
//  }
//  return 0;
//}
